//author:jxx
//此处是对表单的方法，组件，权限操作按钮等进行任意扩展(方法扩展可参照SellOrder.js)
let extension = {
  components: {
    //动态扩充组件或组件路径
    //表单header、content、footer对应位置扩充的组件
    gridHeader: "", //{ template: "<div>扩展组xx件</div>" },
    gridBody: "",
    gridFooter: "",
    //弹出框(修改、编辑、查看)header、content、footer对应位置扩充的组件
    modelHeader: "",
    modelBody: "",
    modelFooter: ""
  },
  buttons: { view: [], box: [], detail: [] }, //扩展的按钮
  data() {
    return {
      tree:[]
    }
},
  methods: {
    //事件扩展
    onInit() {},
    rowClick({ row, column, event }) {
      //查询界面table点击行选中当前行
      this.$refs.table.$refs.table.toggleRowSelection(row);
      return true;
    },
    searchBefore (params) {
      params.rows="2147483647"
      return true;
    },
    searchAfter(data) {
      data.forEach(function(item) {
        delete item.children;
      });
    this.tree = []
    // 2.定义一个空对象
    const otherObj = {}
    // 3.遍历数组内所有对象
    data.forEach(item => {
      // 3.1.给每个当前对象添加一个 children 属性, 以便存放子级对象
      item.children = []
      // 3.2 将当前对象的 id 作为键, 与当前对象自身形成键值对
      otherObj[item.id] = item
    })
    // 4.再次遍历数组内所有对象
    data.forEach(item => {
      // 4.1.判断每个当前对象的 pid, 如当前对象 pid 不为0, 则说明不是最上级的根对象
      if (item.parentid == 0) {
        this.tree.push(item)
      }else{
        otherObj[item.parentid].children.push(item)
      }
    })
    console.log(this.tree,"tree")
    return this.tree
      // return true;
    },
    loadTreeChildren(tree, treeNode, resolve) {
      //加载子节点
      // console.log(tree, "tree");
      // let url = `api/producttypes/getTreeTableChildrenData?typeId=${tree.id}`;
      // this.http.post(url, {}).then(result => {
        resolve(this.tree)
      // })
    }
  }
};
export default extension;
